//差分 区间更新
#include<bits/stdc++.h>
using namespace std;

const int N = 1e5+9;
int a[N];
int d[N];
int prefix[N];

int main()
{
	int n=0,m=0;
	while(cin >> n >> m)
	{
		for(int i = 1; i <= n; i++)
			cin >> a[i];
		
		for(int i = 1; i <= n; i++)
			d[i] = a[i] - a[i-1];
		
		for(int i = 1; i <= m; i++)
		{
			int x,y,z;
			cin >> x >> y >> z;
			d[x]+=z;
			d[y+1]-=z;
		}
		
		for(int i = 1; i<=n;i++)
			prefix[i] = prefix[i-1] + d[i];
		
		for(int i =1; i <= n; i++)
			cout << prefix[i] <<' ';
		cout << endl;
	}
	return 0;
}
